
package com.zhihuishu.micro.course.service.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;

import com.zhihuishu.micro.course.dao.CourseDataMapper;
import com.zhihuishu.micro.course.dto.CourseDataDto;
import com.zhihuishu.micro.course.model.CourseData;
import com.zhihuishu.micro.course.service.CourseDataService;
import com.zhihuishu.toolkit.helper.BeanHelper;

@Service("CourseDataService")
public class CourseDataServiceImpl implements CourseDataService {

	@Resource
	private CourseDataMapper courseDataMapper;
    /**
     * 保存资料信息
     * @author shehuaiyan
     * @date 2016年10月13日 下午2:20:38
     * @modifyNote
     * @param dto
     * @return
     */
	@Override
	public CourseDataDto insertCourseData(CourseDataDto courseDataDto) {
		if (courseDataDto == null) {
			return null;
		}
		CourseData courseData = BeanHelper.transTo(courseDataDto, CourseData.class);
		this.courseDataMapper.saveCourseData(courseData);

		return BeanHelper.transTo(courseData, CourseDataDto.class);
	}
    /**
     * 查询资料列表
     * @author shehuaiyang
     * @date 2016年10月13日 下午2:20:16
     * @modifyNote
     * @param ids
     * @return
     */
	@Override
	public List<CourseDataDto> findCourseDataLists(Set<Integer> ids) {

		if (CollectionUtils.isEmpty(ids)) {
			return null;
		}
		List<CourseData> courseDatas = this.courseDataMapper.selectCourseDatas(ids);
		List<CourseDataDto> courseDataDtos = new ArrayList<CourseDataDto>();
		if (!CollectionUtils.isEmpty(courseDatas)) {
			for (CourseData courseData : courseDatas) {
				CourseDataDto courseDataDto = BeanHelper.transTo(courseData, CourseDataDto.class);
				courseDataDtos.add(courseDataDto);
			}
		}
		return courseDataDtos;
	}
   /**
    * 根据id删除资料信息（逻辑上的删除）
    * @author shehuaiyang
    * @date 2016年10月13日 下午2:19:42
    * @modifyNote
    * @param id
    */
	@Override
	public void deleteCourseData(Integer id) {
		if (id == null) {
			return;
		}
		this.courseDataMapper.deleteCourseData(id);
	}
    /**
     * 根据id查询资料信息
     * @author shehuaiyang
     * @date 2016年10月13日 下午2:17:55
     * @modifyNote
     * @param id
     * @return
     */
	@Override
	public CourseDataDto findCourseData(Integer id) {
		
		if (id == null) {
			return null;
		}
		CourseData courseData = this.courseDataMapper.selectCourseData(id);

		return BeanHelper.transTo(courseData, CourseDataDto.class);
	}
	@Override
	public List<CourseDataDto> findCourseDataLists(Integer bbsId) {
		if(bbsId == null){
			return null;
		}
		List<CourseData> courseDatas = this.courseDataMapper.selectCourseDates(bbsId);
		List<CourseDataDto> courseDataDtos = new ArrayList<CourseDataDto>();
		if (!CollectionUtils.isEmpty(courseDatas)) {
			for (CourseData courseData : courseDatas) {
				CourseDataDto courseDataDto = BeanHelper.transTo(courseData, CourseDataDto.class);
				courseDataDtos.add(courseDataDto);
			}
		}
		return courseDataDtos;
	}

}
